@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

REM GitBuild 系统一键启动脚本 (Windows)
REM 用于同时启动后端服务和前端开发服务器

echo ========================================
echo   GitBuild 系统一键启动
echo ========================================
echo.

REM 检查 Node.js 是否安装
where node >nul 2>nul
if %errorlevel% neq 0 (
    echo [错误] 未检测到 Node.js，请先安装 Node.js
    pause
    exit /b 1
)

for /f "tokens=*" %%i in ('node -v') do set NODE_VERSION=%%i
echo [✓] Node.js 版本: %NODE_VERSION%

REM 检查是否需要安装依赖
if not exist "node_modules\" (
    echo [i] 正在安装后端依赖...
    call npm install
    if %errorlevel% neq 0 (
        echo [错误] 后端依赖安装失败
        pause
        exit /b 1
    )
)

if not exist "frontend\node_modules\" (
    echo [i] 正在安装前端依赖...
    cd frontend
    call npm install
    if %errorlevel% neq 0 (
        echo [错误] 前端依赖安装失败
        pause
        exit /b 1
    )
    cd ..
)

REM 创建必要的目录
if not exist "logs\" mkdir logs
if not exist "temp\" mkdir temp
if not exist "downloads\" mkdir downloads
if not exist "data\" mkdir data

echo.
echo ========================================
echo   正在启动服务...
echo ========================================
echo.

REM 启动后端服务
echo [1/2] 启动后端服务...
start /b "" node src\server.js > logs\backend.log 2>&1
timeout /t 3 /nobreak >nul
echo [✓] 后端服务已启动
echo   后端日志: logs\backend.log

REM 启动前端服务
echo [2/2] 启动前端服务...
cd frontend
start /b "" npm run dev > ..\logs\frontend.log 2>&1
cd ..
echo [✓] 前端服务已启动
echo   前端日志: logs\frontend.log

echo.
echo ========================================
echo   启动完成！
echo ========================================
echo.
echo 后端服务: http://localhost:3000
echo 前端服务: http://localhost:5173
echo.
echo 查看日志：
echo   后端: type logs\backend.log
echo   前端: type logs\frontend.log
echo.
echo 停止服务：
echo   运行: stop.bat
echo.
echo 按任意键退出（服务将继续在后台运行）
pause >nul
